package hcn.service.medicalrecordsignature;


import ctd.controller.exception.ControllerException;
import ctd.util.annotation.RpcService;
import hcn.protocol.medicalrecordsignature.*;


public interface MedicalRecordSignService {
    /**
     * 查询待审核病历签名申请列表
     *
     * @param request the request
     * @author Qulc - 2023/5/9 10:45
     */
    @RpcService
    ListMedicalRecordQueryResponse querySignatureList(MedicalRecordQueryRequest request) throws ControllerException;

    /**
     * 查询病历签名授权申请详情
     *
     * @param request the request
     * @author Qulc - 2023/5/9 10:45
     */
    @RpcService
    MedicalRecordSignDetailResp getDetail(MedicalRecordQueryRequest request) throws ControllerException;

    /**
     * 签名结果推送
     *
     * @param request the request
     * @author Qulc - 2023/2/6 17:59
     */
    @RpcService
    SignatureResultResponse pushSignatureResult(SignatureResultRequest request) throws ControllerException;









    /**
     * 查询历史审核病历签名列表
     *
     * @param request the request
     * @author Qulc - 2023/5/9 10:45
     */
    @RpcService
    ListMedicalRecordQueryResponse queryHistoryList(QueryHistoryMedicalRequest request) throws ControllerException;

    /**
     * 查询我的登记病历签名申请列表
     *
     * @param request the request
     * @author Qulc - 2023/5/9 10:45
     */
    @RpcService
    ListMedicalRecordQueryResponse queryRegisterList(QueryMyMedicalRecordRequest request) throws ControllerException;

}
